OS design for non-cache-coherent systems

نویسندگان

  • Simon Peter
  • Jana Giceva
  • Pravin Shinde
  • Gustavo Alonso
  • Timothy Roscoe
چکیده

Which operating system structures are appropriate for machines with either no cache coherence, or else a number of distinct “coherence islands”? While a clear consensus on the architecture of future multicore processors has yet to emerge, it seems that machines without system-wide cache coherence are likely. Some research chips, like the Intel Single-Chip Cloud computer [3] and the Beehive computer [5], have already emerged. This poster presents early work exploring the tradeoffs which characterize the OS design space for such machines which share system memory, but do not provide cache coherence across the whole machine. The trend driving the re-emergence of non-cachecoherent systems in general-purpose computer architecture is the quest for greater scalability from multi-core processors, and the bottlenecks inherent in a globallycoherent shared-memory model [4,7]. Now is the time to consider what the system software stack must look like on machines like this. As Baumann et al. [2] (among others) have pointed out, modern OSes like Windows and Linux are essentially large, multithreaded programs which assume coherent shared memory, and then apply performance optimizations based on heuristics of the underlying memory system. This model by itself is not going to work on a non-coherent machine. There are several alternative OS models, which range from carefully rewriting a shared-memory kernel to include explicit cache-flush operations, through refactoring the OS to treat all shared memory with release semantics, eschewing sharing among coherence islands and relying on message passing, all the way to running a separate instance of a conventional OS on each core and programming the machine as if it was a cluster (cluster-on-chip). Simply refactoring a shared-memory OS to explicitly flush caches will not provide any scalability benefits over hardware-coherent systems without replacing critical data structures with ones that induce less cache traffic. Cache

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Design Challenges of Scalable Operating Systems for Many-Core Architectures

Computers will move from the multi-core reality of today to manycore. Instead of only a few cores on a chip, we will have thousands of cores available for use. This new architecture will force engineers to rethink OS design. It is the only way for operating systems to remain scalable even as the number of cores increases. Presented here are three design challenges of operating systems for many-...

متن کامل

Cosh: Clear OS Data Sharing In An Incoherent World

This paper tackles the problem of providing familiar OS abstractions for I/O (such as pipes, network sockets, and a shared file system) to applications on heterogeneous cores including accelerators, co-processors, and offload engines. We aim to isolate the implementation of these facilities from the details of a platform’s memory architecture, which is likely to include a combination of cache-c...

متن کامل

Placement Policies to Reduce the Cost of CacheFills in Coherent Shared - Memory Systems

The cost of a cache miss depends heavily on the location of the main memory that backs the missing line. For certain applications, this cost is a major factor in overall performance. We report on the utility of OS-based page placement as a mechanism to increase the frequency with which cache lls access local memory in a distributed shared memory multiprocessor. Even with the very simple policy ...

متن کامل

Using simple page placement policies to reduce the cost of cache fills in coherent shared-memory systems

The cost of a cache miss depends heavily on the location of the main memory that backs the missing line. For certain applications, this cost is a major factor in overall performance. We report on the utility of OS-based page placement as a mechanism to increase the frequency with which cache fills access local memory in distributed shared memory multiprocessors. Even with the very simple policy...

متن کامل

Persistent, Protected and Cached: Building Blocks for Main Memory Data Stores

This paper looks at systems design for consistent, durable, and safe memory management for future byte-addressable non-volatile (NV) memory. Specifically, we focus on how application-level interfaces need to change to accomodate this memory on the main memory bus and propose (1) a new NV-memory-aware memory allocator that incorporates wear leveling optimizations and stronger robustness to avoid...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2011